#位置
APPSRC= main.c hosts_setup.c hosts_remove.c miredo_start.c miredo_stop.c help.c  stats.c confeditor.c
APPOBJ= $(APPSRC:.c=.o)
SETUPDIR= /usr/local/bin

#命名
APPNAME= FuckGFWMiredo
BINNAME= gipv6
GIPV6_GTK= gipv6-gtk
GTKBIN= gipv6-gtk
GTKEDITORBIN= gipv6-gtk-confeditor

#程序
CP= cp
RM= rm -f
SUDO= sudo
CC= gcc -O2 -Wall
GTKCC= gcc `pkg-config --cflags gtk+-2.0` -Wall -O2 
GTKLD= g++ `pkg-config --libs gtk+-2.0`
SETUID= chmod +s

all: GIPV6

GIPV6: cleanbin OBJ
	$(CC) $(APPOBJ) -o $(BINNAME)
	$(GTKLD) GTKIPV6/gtkipv6_main.o GTKIPV6/extern_func.o GTKIPV6/about_dialog.o -o ./$(GTKBIN)
	$(GTKLD) GTKIPV6-EDITOR/gtkipv6_editor_main.o GTKIPV6-EDITOR/save_config.o -o ./$(GTKEDITORBIN)

clean:
	$(RM) ./$(BINNAME)
	$(RM) $(APPOBJ)
	$(RM) ./$(GTKBIN)

cleanbin:
	$(RM) ./$(BINNAME)
	$(RM) ./$(GTKBIN)
	$(RM) ./$(GTKEDITORBIN)

OBJ: $(INCLUDE)
	$(CC) -c $(APPSRC)
	$(GTKCC) -c GTKIPV6/gtkipv6_main.c -o GTKIPV6/gtkipv6_main.o
	$(GTKCC) -c GTKIPV6/extern_func.c -o GTKIPV6/extern_func.o
	$(GTKCC) -c GTKIPV6/about_dialog.c -o GTKIPV6/about_dialog.o
	$(GTKCC) -c GTKIPV6-EDITOR/gtkipv6_editor_main.c -o GTKIPV6-EDITOR/gtkipv6_editor_main.o
	$(GTKCC) -c GTKIPV6-EDITOR/save_config.c -o GTKIPV6-EDITOR/save_config.o

install: $(BINNAME)
	$(SUDO) ./hosts.sh
	$(SUDO) $(CP) $(BINNAME) $(SETUPDIR)
	$(SUDO) $(SETUID) $(SETUPDIR)/$(BINNAME)
	$(SUDO) $(CP) $(GIPV6_GTK) $(SETUPDIR)
	$(SUDO) $(CP) $(GTKEDITORBIN) $(SETUPDIR)

remove: 
	$(SUDO) ./hosts_remove.sh
	$(SUDO) $(RM) $(SETUPDIR)/$(BINNAME)
	$(SUDO) $(RM) $(SETUPDIR)/$(GIPV6_GTK)
	$(SUDO) $(RM) $(SETUPDIR)/$(GTKEDITORBIN)

prep:
	$(RM) $(APPOBJ)
	$(RM) $(GTKBIN)
	$(RM) $(BINNAME)
	$(RM) $(GTKEDITORBIN)
	$(RM) ./bin/*/*
	$(RM) ./obj/*/*
	$(RM) ./GTKIPV6/bin/*/*
	$(RM) ./GTKIPV6/obj/*/*
	$(RM) ./GTKIPV6-EDITOR/bin/*/*
	$(RM) ./GTKIPV6-EDITOR/obj/*/*
	$(RM) ./GTKIPV6-EDITOR/*.o
	$(RM) ./*.o
	$(RM) ./GTKIPV6/*.o